package com.ruoyi.clinic.mapper;

import java.util.List;

import com.ruoyi.clinic.domain.ClinicDoctorAttachment;
import org.apache.ibatis.annotations.Param;

/**
 * 医生信息附件Mapper接口
 *
 * @author ruoyi
 * @date 2025-11-09
 */
public interface ClinicDoctorAttachmentMapper {
    /**
     * 查询医生信息附件
     *
     * @param doctorAttachmentId 医生信息附件主键
     * @return 医生信息附件
     */
    public ClinicDoctorAttachment selectClinicDoctorAttachmentByDoctorAttachmentId(Long doctorAttachmentId);

    /**
     * 查询医生信息附件列表
     *
     * @param clinicDoctorAttachment 医生信息附件
     * @return 医生信息附件集合
     */
    public List<ClinicDoctorAttachment> selectClinicDoctorAttachmentList(ClinicDoctorAttachment clinicDoctorAttachment);

    /**
     * 根据医生ID 和 类型查询
     *
     * @param doctorId 医生ID
     * @return 医生附件列表
     */
    List<ClinicDoctorAttachment> selectListByDoctorIdAndAttachmentType(@Param("doctorId") Long doctorId, @Param("attachmentType") String attachmentType);

    /**
     * 新增医生信息附件
     *
     * @param clinicDoctorAttachment 医生信息附件
     * @return 结果
     */
    public int insertClinicDoctorAttachment(ClinicDoctorAttachment clinicDoctorAttachment);

    /**
     * 修改医生信息附件
     *
     * @param clinicDoctorAttachment 医生信息附件
     * @return 结果
     */
    public int updateClinicDoctorAttachment(ClinicDoctorAttachment clinicDoctorAttachment);

    /**
     * 删除医生信息附件
     *
     * @param doctorAttachmentId 医生信息附件主键
     * @return 结果
     */
    public int deleteClinicDoctorAttachmentByDoctorAttachmentId(Long doctorAttachmentId);

    /**
     * 根据医生ID ,删除医生附件信息
     *
     * @param doctorId 医生信息ID
     * @return 影响行数
     */
    int deleteClinicDoctorAttachmentByDoctorId(Long doctorId);

    /**
     * 批量删除医生附件
     *
     * @param doctorIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteClinicDoctorAttachmentByDoctorIds(String[] doctorIds);

    /**
     * 批量删除医生信息附件
     *
     * @param doctorAttachmentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteClinicDoctorAttachmentByDoctorAttachmentIds(String[] doctorAttachmentIds);
}
